﻿using IotContract.Dtos.Clients.Equips;
using IotContract.Interfaces;
using IotContract.Models.Webs;
using ProtoBuf;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IotContract.Dtos.Servers.Pushs;
/// <summary>
/// 推送的设备数据
/// </summary>
[ProtoContract]
[ProtoInclude(11, typeof(PushBcrDto))]
[ProtoInclude(12, typeof(PushHkOcvFmtDto))]
[ProtoInclude(13, typeof(PushSiemensDto))]
[ProtoInclude(14, typeof(PushHkSelDto))]
[ProtoInclude(15, typeof(PushEquipWeb))]
[ProtoInclude(16, typeof(PushSiemensS7Dto))]
[ProtoInclude(17, typeof(PushApiDto))]
[ProtoInclude(18,typeof(LgPushHkDto))]
[ProtoInclude(19,typeof(LgPushNetDto))]
public class PushEquipDto:IPushEquip
{
    [ProtoMember(1)]
    public long Id { get; set; }
    /// <summary>
    /// 值
    /// </summary>
    [ProtoMember(2)]
    public string Value { get; set; }
    /// <summary>
    /// 程序Id
    /// </summary>
    [ProtoMember(3)]
    public long ProgramId { get; set; }
    /// <summary>
    /// 协议
    /// </summary>
    [ProtoMember(4)]
    public string ProtobufType { get; set; }
    /// <summary>
    /// 连接状态
    /// </summary>
    [ProtoMember(5)]
    public bool Connection { get; set; }
    /// <summary>
    /// 轮询状态
    /// </summary>
    [ProtoMember(6)]
    public bool Status { get; set; }
    [ProtoMember(7)]
    public string EquipType { get; set; }

    /// <summary>
    /// 编号
    /// </summary>
    [ProtoMember(8)]
    public string Num { get; set; }
    /// <summary>
    /// 是否拥有点位
    /// </summary>
    [ProtoMember(9)]
    public bool HasTags { get; set; }

    /// <summary>
    /// 读取时间
    /// </summary>
    [ProtoMember(10)]
    public DateTime? ReadTime { get; set; }
    /// <summary>
    /// 读取时间
    /// </summary>
    [ProtoMember(21)]
    public bool IsMqttPublish { get; set; }
    /// <summary>
    /// 备注信息
    /// </summary>
    [ProtoMember(22)]
    public string Remark { get; set; }

}


